<?php
namespace app\administration\controller;

use think\Cache;
use think\Response;
use think\Request;
use Endroid\QrCode\Exceptions\ImageFunctionFailedException;
use Endroid\QrCode\Exceptions\ImageFunctionUnknownException;
use \Endroid\QrCode\QrCode;

class Index extends \think\Controller
{
 
     public function index()
        {
     
            return $this->fetch(DS.get_theme().'/index/index');
        }
        
        public function theme($tid='default')
        {
            
            try{
              
                $this->fetch(DS.$tid.'/index/index');
            }catch(\Exception $e){
             
                Cache::set('theme','default');
                return ['result'=>false];
            }            
         
            
            Cache::set('theme',$tid);
            
            return ['result'=>true];
        }
        
        public function login($uid)
        {
            //定义一个要发送的目标URL；
            $url = "https://www.mauth.cn/api/1.0/dcsa/auth";
            //定义传递的参数数组；
            $data['appid']='4F57A25A-8995-413A-BCFF-3D2A36241A03';
            $data['userid']=$uid;
            //定义返回值接收变量；
           $result=json_decode(httpurl($url, $data, 'GET', array("Content-type: text/html; charset=utf-8")),true) ;   
           
           if($result['status']=='approved')
           {
			   //返回登陆成功后的处理方法
               session('curruser',$uid);
               return ['result'=>true];
           }
            
           else 
           {
               return ['result'=>false];
           }
        }
        
        public function ewm()
        {
            //定义一个要发送的目标URL；
            $url = "https://www.mauth.cn/api/1.0/qrcode/gen";
            //定义传递的参数数组；
            $data['appid']='4F57A25A-8995-413A-BCFF-3D2A36241A03';
            $data['ttl']='100';
            //定义返回值接收变量；
            $result=json_decode(httpurl($url, $data, 'GET', array("Content-type: text/html; charset=utf-8")),true) ;     
             

           if($result['status']=='OK')
            {
              
               $result['result']=true;             
              
            }            
            else
            {
                $result['result']=false;             
            }
            session("log_ewm",$result["qrstring"]); 
            session('log_session',$result['sessionid']);
            return $result;
        }
        
       public function ewmimg()
        {
            $ewmcode="err";
            if(session('?log_ewm'))
            {
                $ewmcode=session('log_ewm');
                session('log_ewm',null);
            }
            //dump($ewmcode);
            $qrCode = new \Endroid\QrCode\QrCode();
            $qrCode->setText($ewmcode)
            ->setSize(300)
            ->setPadding(10)
            ->setErrorCorrection('high')
            ->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))
            ->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))
            ->setLabel('Unionpass')
            ->setLabelFontSize(14)
            ->setImageType(\Endroid\QrCode\QrCode::IMAGE_TYPE_PNG);
            //$qrCode->render();
            $qrCode->render();
        }
        
        public function ewmyanzheng()
        {
            if(session('?log_session'))
            {
                
                //定义一个要发送的目标URL；
                $url = "https://www.mauth.cn/api/1.0/qrcode/auth";
                //定义传递的参数数组；
                $data['appid']='4F57A25A-8995-413A-BCFF-3D2A36241A03';
                $data['sessionid']=session('log_session');
                //定义返回值接收变量；
                $result=json_decode(httpurl($url, $data, 'GET', array("Content-type: text/html; charset=utf-8")),true) ;
                 
                if($result['status']=='OK')
                {
					//返回登陆成功后的处理方法
					
                    session('curruser',$result['userid']);     
                    session('log_session',null);
                    return ['result'=>true];
                }                
                else
                {
                    return ['result'=>false];
                }
                
            }
            return ['result'=>false];
           
        }
}
